'use strict'

class Cat {
  constructor(name, sex, age) {
    this.name = name
    this.sex = sex
    this.age = age
  }

  static say() {
    console.log('this is static method')
  }
  getAge() {
    console.log(this.age)
  }
}

class yellowCat extends Cat {
  constructor(name, sex, age, color){
    return false
  }
}
let catty = new yellowCat('catty', 'M', '1', 'yellow')
// catty.say() // TypeError: catty.say is not a function
// catty.getAge()


console.log(catty)

/**
 * reademe:
 * 1. static 关键字标识静态的方法，不能被继承
 * 2. constructor 会在创建的时候调用, 如果有返回值，且返回值是对象或者undefined。
 * 那么new操作的结果就是这个返回值。
 * 3. super 操作符的含义是，执行父类的constructor方法
 */